<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //  思路：定义一个新数组，并存放原数组的第一个元素，然后将元素组一一和新数组的元素对比，若不同则存放在新数组中。
        const arr = [1, 1, 4, 5, 6, 1, 8, 3, 6, 1]
        // function deWeight(arr) {
        //     // 申明新数组，并把原数组第一个元素追加进去
        //     const newArr = [arr[0]]
        //     // 遍历原数组
        //     for (let i = 1; i < arr.length; i++) {
        //         // 遍历新数组
        //         for (let j = 0; j < newArr.length; j++) {
        //             if (arr[i] === newArr[j]) {
        //                 break
        //             } else {
        //                 newArr.push(arr[i])
        //             }
        //         }
        //     }
        //     console.log(newArr)
        // }
        // deWeight(arr)
        // Methods 2: 思路：先将原数组排序，在与相邻的进行比较，如果不同则存入新数组。
        // function deWeight(arr) {
        //     const newArr = arr.sort()
        //     console.log(newArr);
        //     const n = []
        //     for (let i = 0; i < newArr.length; i++) {
        //         if (newArr[i] !== newArr[i + 1])
        //             n.push(newArr[i])
        //     }
        //     console.log(n);
        // }
        // deWeight(arr)
        // Methods 4: 利用数组的indexOf下标属性来查询。
        function deWeight(arr) {
            const newArr = []
            for (let i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) === -1) {
                    newArr.push(arr[i])
                }
            }
            console.log(newArr)
        }
        deWeight(arr)
    </script>
</body>

</html>